﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.Xpo;
using BusinessObjects;
using System.Linq;

namespace UI
{
    public partial class frmReports_SVTrongNganh : FormBase
    {
        public frmReports_SVTrongNganh()
        {
            InitializeComponent();
        }

        private void frmReports_SVTrongNganh_Load(object sender, EventArgs e)
        {
            /*
            try
            {
                cboNganhHoc.ItemIndex = 0;
                cboNamThucTap.ItemIndex = 0;
            }
            catch (Exception ex)
            {
                CommonError(ex);
            }
             */
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (cboNganhHoc.EditValue != null && cboNamThucTap.EditValue != null)
                {
                    int nganhID = Convert.ToInt32(cboNganhHoc.EditValue);
                    int namID = Convert.ToInt32(cboNamThucTap.EditValue);
                    var query = Session.DefaultSession.Query<SinhVienTrongCongTy>().Where(c => c.CongTyTrongNam.NamThucTap.Oid == namID && c.SinhVien.NganhHoc.Oid == nganhID).Select(c => new
                    {
                        c.Oid,
                        CongTyID = c.CongTyTrongNam.CongTy.Oid,
                        c.CongTyTrongNam.CongTy.TenCongTy,
                        c.SinhVien.HoSinhVien,
                        c.SinhVien.TenSinhVien
                    });
                    Reports.dsReport ds = new Reports.dsReport();
                    foreach (var item in query)
                    {
                        DataRow dr = ds.SVTheoNganh.NewRow();
                        dr["TenCongTy"] = item.TenCongTy;
                        dr["HoTenSV"] = item.HoSinhVien + " " + item.TenSinhVien;
                        var objDiaChi = Session.DefaultSession.Query<DiaChi>().FirstOrDefault(c => c.CongTy.Oid == item.CongTyID);
                        if (objDiaChi != null)
                        {
                            dr["DiaChi"] = objDiaChi.ToaNha + " " + objDiaChi.SoNha + " " + objDiaChi.TenDuong + ", " + objDiaChi.PhuongXa +
                                ", " + objDiaChi.QuanHuyen.TenQuanHuyen + ", " + objDiaChi.TinhThanh.TenTinhThanh;
                        }
                        var objLienHe = Session.DefaultSession.Query<LienHe>().FirstOrDefault(c => c.CongTy.Oid == item.CongTyID);
                        if (objLienHe != null)
                        {
                            dr["SoDienThoai"] = objLienHe.DienThoai;
                        }
                        ds.SVTheoNganh.Rows.Add(dr);
                    }
                    Reports.rpSVTheoNganh rp = new Reports.rpSVTheoNganh();
                    var objNganhHoc = Session.DefaultSession.Query<NganhHoc>().FirstOrDefault(c => c.Oid == nganhID);
                    if (objNganhHoc != null)
                    {
                        rp.Parameters["nganhhoc"].Value = "DANH SÁCH SINH VIÊN THỰC TẬP NGÀNH: " + objNganhHoc.TenNganhHoc.ToUpper();
                        rp.Parameters["nganhhoc"].Visible = false;
                    }
                    rp.DataSource = ds;
                    DevExpress.XtraReports.UI.ReportPrintTool printTool = new DevExpress.XtraReports.UI.ReportPrintTool(rp);
                    printTool.ShowPreviewDialog();
                }
                else
                    CommonMessage("Chọn năm thực tập và chọn ngành");
            }
            catch (Exception ex)
            {
                CommonError(ex);
            }
        }

        private void cboNganhHoc_EditValueChanged(object sender, EventArgs e)
        {

        }

        private void cboNamThucTap_EditValueChanged(object sender, EventArgs e)
        {

        }
    }
}